約 4,918,070 件
https://w.atwiki.jp/cataclyj/pages/256.html
Google Play から安定版と開発版両方リリースされています。CleverRaven 氏のものを選んでインストールしましょう。安定版はアイコンが緑色、開発版はアイコンが赤色で名前に(X)が入っています。このページでは安定版 0.F-2 で説明します。 安定版 開発版 筆者所感 PC 版の経験ある人がスマホタブでもプレイしたいと言う人向けで、割とプレイできると思います。 ちゃんと測ってないですが大体 5~6 時間、ゲーム内時間としても 1 日目も超えてない時点での感想にはなります。 PC版と比較して不便な点 全てを網羅している訳ではなく、自分がやってみて不便だと感じたものだけ挙げています。 フォント種類の設定ができない とは言え 0.F-2 ではデフォルトで日本語対応 Unifont なるものが同梱されてるので English にしなくても検索を除けば大丈夫です。 日本語検索が使えない 仮想キーボードが英語入力のみとなっている影響です。一応貼り付け(Ctrl+v)で代用は可能です。 アイテムにショートカット割り当ててもショートカットバーに追加されない ショートカットバーに出てくれないと仮想キーボードを出す - キー入力の 2step となるのがちょっと手間だと思いました。 それでもショートカット割り当てもっと増やした場合はカーソル移動から選択よりは多少楽になるかもしれませんが。。。 操作方法 Android操作 キー アクション タップ Enter 各種決定 ダブルタップ ESC メニュー、キャンセル 戻るボタン - 仮想キーボード表示 戻る長押し - ショートカットバー表示 仮想キースワイプ - 移動(8方向) ピンチイン z マップ縮小 ピンチアウト Z マップ拡大 2本指タップ i 所持品一覧 2本指スワイプ - 視点移動 PC版同様のキーアクションは仮想キーボードからの入力で起こせます。 また、一度入力したのは自動的に画面下のショートカットバーに表示できる分だけ残ります。 表示最適化 スマホ用に表示最適化するとこうなります。埋め込み画像表示だと見切れるようですが、右クリックで新規タブで画像のみ開くと全体画像が確認できます。 PC ディスプレイと違い結構解像度やディスプレイサイズの環境が異なってくると思いますのでこの設定にしておけば ok と言うのはありません。ちょっと手間がかかりますが興味ある方は読み進めてみて下さい。 参考サイト そのまま翻訳した訳ではないですが Reddit の以下のトピックを大いに参考にさせてもらってます。 Cataclysm DDA on Android an in-depth tweaking guide ここから本題です。 初回起動時の設定 画面を少しでも広く使うため強制フルスクリーンにはチェックを入れましょう。 起動後にまず変えたい設定 [t設定]- [Oオプション]- [Android]- バイブレーション持続時間はさっさと 0 にする事をおすすめします。 この後で説明する設定でのカーソル移動もそうですし、プレイ開始後も1歩移動するだけで振動するのはさすがにうるさすぎます。 画面設定 最初の Before 画像で分かるかと思いますが Android 版は初回起動時は 640x384 の解像度となってるため、マップの可視範囲がものすごく狭いものになります。これを調整して少しでも広くしましょう。 最初に持っているスマホのディスプレイ解像度を確認します。 モデル名 解像度 とググれば簡単に出ます。 以降では自分の環境である (横x縦) 720 x 1280, 5 インチ を例に説明します。なお、Android 版は横向き固定でプレイするので (横x縦) 1280x720 と考えて以降の設定をする事になります。 ポイントは以下の5つで、全て 設定(t) - オプション(o) にある設定となります。 略称は以降の説明で簡潔にするためこのページでのみ用意したものです。 オプションタブ 設定名 略称 デフォルト値 単位 表示 画面サイズ/横幅 画面横 ???? 文字数 表示 画面サイズ/縦幅 画面縦 ???? 文字数 表示 フォント/横幅 フォント横 8 px 表示 フォント/縦幅 フォント縦 16 px 表示 フォントサイズ 16 px Android ショートカットバー縦幅 - 130 画面設定におけるショートカットバー縦幅はFalseにした際に関係します。Trueの時画面下部がショートカットバーと被るようになり、Falseの時は指定縦幅分の領域をショートカットバーが固定で確保し、残りの部分で画面描画します。個人的には見え辛くなるので False をおすすめします。 さて、画面設定のベースとなるのはフォント縦幅と横幅です。加えて、通常はフォント縦幅=フォントサイズになります。デフォルトでは(縦x横) 16x8 となってるので、まずはこれで残りを設定してみます。 解像度と上記設定項目の関係は以下となります(括弧内は現在決まってる値)。 横解像度(1280) = フォント横(8) x 画面横(?) 縦解像度(720) = ショートカット縦幅(?) + (フォント縦(16) x 画面縦(?)) 簡単な横から行くと、決まっていないのは画面横だけなので 1280/8 = 160 と分かります。 縦はまず固定幅で陣取るショートカット縦幅をどのくらい取るか決めます。自分は大体 1 割くらいがまあ操作できるサイズかなと感じたので 72px と仮決めします。 これで画面縦は求められます。(720 - 72) / 16 = 40.5 とピクセルとしては 0.5 * 16 = 8px 余るのでとりあえずやっぱりショートカットバー縦幅は 80 とし、画面縦は 40 にします。 これで再起動して有効にしてみましたが自分には字を読むには小さすぎました。次にベースとなるフォントを大きくしてみます。 フォントサイズ変更 先に重要な事なのですが、Android 版ではフォント種類の設定はできません。 なので、デフォルトで指定されている Unifont(日本語で遊ぶ場合。英語なら Terminus になりますがここでは省きます)を前提として進めます。 画面設定でも出てきたのですが、フォントサイズは基本以下の 3 つで決まります。 オプションタブ 設定名 略称 デフォルト値 単位 表示 フォントサイズ 16 px 表示 フォント/縦幅 フォント縦 16 px 表示 フォント/横幅 フォント横 8 px ここでは横 1pixel 増やして縦はその 2 倍にして(縦x横) 18x10 にしてみました。Terminus だと固定サイズで作られたものがいくつかあり、参考にある Reddit のガイドではその中の内どれか1つを選ぶよう推奨されていましたが、Unifont ではどうなってるか分かりませんでした。とは言え ttf のようなので、適当にリサイズしてくれると期待して決めてます。 で、これに合わせて残りを設定して自分が丁度良いと思った設定が以下になりました。 設定(略称) 値 フォント横 9 フォント縦 18 画面横 142 画面縦 36 ショートカットバー縦幅 72 計算してみてもらえば大体解像度いっぱいになってるのが分かります。 サウンド Android も対応してます。 /Android/data/com.cleverraven.cataclysmdda/files/Sound (開発版はcom.cleverraven.cataclysmdda.experimental)以下にダウンロードしたサウンドセットを圧縮しているのであれば展開してフォルダ毎移動すれば設定から選べるようになります。 Android 用の zip 解凍アプリは簡単に見つかるので適当なので良いです。 他雑記 休憩、睡眠、製作などのターン経過を待つスピードが遅い。機種が古いせいか? セーフモード toggle(!)ショートカット自動登録して欲しいけどしてくれない。現状無効にしたい時だけは出る。デフォルトに入れておけば出る? 同梱以外のタイルセット追加も対応してるらしいが未検証 長距離移動するとアプリが落ちてしまう。こまめなセーブで回避可能
https://w.atwiki.jp/srm_mobile/pages/54.html
ご褒美画像は4人打ち画像の海と水着と同じもの。解像度はあがっている。 各キャラに★が3つあり、全て達成されると開放される。 ショウコ リャンペーコー 香澄 緑一色 未来 天和or地和? 一通 愛菜 三暗刻 悠に勝つ 悠 国士無双 香織 愛菜に3回勝つ 週20回半荘 みずき 28に絡む何か 綾 晶に勝つ 晶 ひな子に3回勝つ リーチ一発20回 ひなこ みずきに勝つ タマミ メンタンピン? ゆかり 50000点以上取って相手をハコてんにする? リーチ一発10回 真理 クリスに勝つ カン絡みの何か クリス タマミに3回勝つ 九連 30に絡む何か 百合奈 夏姫に勝つ 4人打ちで一位 満貫以上で上がる 夏姫 チャンタ 4人打ち5回連続2位以上 芹香 芹香に勝つ 純ちゃんた エツ子 大三元
https://w.atwiki.jp/api_programming/pages/195.html
下位ページ インテントとインテントフィルタ サービス(Service) ストレージオプション フラグメント(Fragment) プロセスとスレッド(processes and threads) リストビュー(List View) レイアウト(Layout) 入力コントロール(Controls) 設定(Setting) 通知(Notification) Content スピナーコントロールの設定レイアウトの準備 選択肢の設定string.xmlでの設定 プログラム側から値を選択する アクティビティアプリの閉じられ方で、挙動が異なる アクションバーの代わりに、ツールバーを使うアクションバーを消す ツールバーをレイアウトに追加する Activity内で、アクションバーの代わりに使う記述をする スライドメニューを実装するドロワーレイアウトを作成する ドロワービューの中身を準備するListViewで作る 別のXMLファイルで作る ドロワーのオープン・クローズを実装する バックグラウンド処理(サービス) 閉じられても動作するサービスを動かすServiceクラスの作成 Activityから、作成したサービスを動かす 加速度センサの情報を受ける 回転角の情報を受け取る回転角の解釈 画面の回転を抑制するAndroidManifest.xmlで抑制する 動的に(プラグラム内で)で抑制する インテントにオブジェクトの情報を乗っけるparcelable をインプリメントしたクラスをつくるParcelable.Creater フィールドの実装 BundleやIntentに情報を乗せる Activity側で受ける 複数の情報をリストにして表示する バイブレーションを一定時間、作動させるパーミッションの追加 Vibratorオブジェクトを生成する vibrateを実行する 通知バーにバックグラウンド起動中の表示を出す 裏返したときの方向で、記録を分ける メニューのバーを設定するメニューリソースを準備するフォルダの作成 リソースファイルの作成 設定したメニューファイルを、Activityのメニューバーに評させる メニューの選択を受け取る処理を作る チェックボックスを動作させる 設定画面を設定する/設定情報をローカルストレージに残す 記録内容をGoogleスプレッドシートに記録する 記録内容をGoogleカレンダーに記録するブラウザでURLを開く ブラウザを開くURIとして、認証ページを指定する リダイレクトを受け取る 受け取ったリダイレクトをデータに紐解く codeを送って、tokenを受け取る tokenを保存する 終了時間と開始時間から、時間の計算をする リストビューで独自レイアウトを設定する USBデバッグ リリースビルド スピナーコントロールの設定 [部分編集] レイアウトの準備 Spinner android id="@+id/planets_spinner" android layout_width="fill_parent" android layout_height="wrap_content" / 選択肢の設定 string.xmlでの設定 まずは、string.xmlに文字配列を作る string-array name="planets_array" item Mercury /item item Venus /item item Earth /item /string-array この文字配列をアダプタにして、スピナーコントロールにアダプタをするリソースのアダプタ化には、ArrayApapter.createFromResource を使用できる。simple_spinner_item はデフォルト外観を設定している。通常はこれで良し。 setDropDownViewResource(int) は選択時に一覧を表示するのに使う。なくても一応ドロップダウンは出てくるが、ちょっとしょぼい? Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter CharSequence adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); createFromResource - ArrayAdapter | Android Developers setDropDownViewResource - ArrayAdapter | Android Developers プログラム側から値を選択する Spinner.setSelection で位置を指定する。その位置を取得するにはAdapterを使う。 使っているアダプタを取得するobjSpinner.getAdapter でアダプタを取得できる objAdapter.getPosition("...") でセレクタの位置を取得値が見つからなかったら -1 が返る objSpinner.setSelection に先程取得した位置を設定する ArrayAdapter spinnerAdapter = (ArrayAdapter) objSpinner.getAdapter(); int i = spinnerAdapter.getPosition("value"); objSpinner.setSelection(i); getAdapter - AbsSpinner | Android Developers getPosition - ArrayAdapter | Android Developers setSelection - AbsSpinner | Android Developers アクティビティ アプリの閉じられ方で、挙動が異なる onDestroyが呼ばれない限りは、Serviceを使わずとも、 ↓にある通り、ホームボタンとバックボタンでアプリケーションから離れた場合で挙動が違う。 https //kokufu.blogspot.jp/2011/03/activity.html 説明として、 ホームボタン:ホームアプリケーションが起動している バックボタン:Activityスタックからポップしている と書いてあったが、気持ち悪いのは、□ボタンを押すとあたかもまだ生きているかのように、アプリケーションリストに表示されるから。画面上に残っているが実際には onDestroy で消えている。 このあたりが、「アプリケーションをスワイプして消しても消さなくてもメモリにはそれほど影響しない」ということなんだろうか。 アクションバーの代わりに、ツールバーを使う [部分編集] 今後の拡張性から、アクションバーよりツールバーを使ったほうが良い、という記述をちょこちょこ見かけるが、Android Studioでプロジェクトを作ると、基本はアクションバーが設定されている。これをツールバーに置き換える。 アプリバーの追加 | Android Developers Toolbar | Android Developers AndroidのToolBar(新しいActionBar)メモ | Qiita アクションバーを消す res/values/styles.xmlで AppThemeのテーマを変更する style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" ツールバーをレイアウトに追加する android.support.v7.widget.Toolbar android id="@+id/toolbar" android layout_width="match_parent" android layout_height="wrap_content" / レイアウトの@android */* ,?attr/* ,?* ,?android attr/* の違い | Qiita Activity内で、アクションバーの代わりに使う記述をする /* ToolBarの設定 */ Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); toolbar.setTitleTextColor(Color.WHITE); // 設定をしておく setSupportActionBar(toolbar); // アクションバーの代わり、という設定 これを書かないと、画面上では何も表示されない(空間だけはある) スライドメニューを実装する [部分編集] NavigationDrawer が正式名称? DrawerLayout | Android Developers ナビゲーションドロワーの作成 | Android Developers ドロワーレイアウトを作成する レイアウトxmlにて、DrawerLayout オブジェクトをレイアウトのルートビューとして指定する。 ルートの中にドロワービューとメインビューを設定する順序はメインビューを先にする高さはルートに合わせる(match_parent) 次にドロワーのビューを指定するlayout_gravityを指定する(layout_gravity:どっちにくっつけるか、どちら方向から出てくるか?)右から左に出す場合にはstart layout_heightは親ビューと同じ高さを指定する layout_widthはすべての情報が見える幅を指定する ドロワービューの中身を準備する ListViewで作る ListViewの中に android layout_gravity="..." を入れないと、スライドで入ってくる設定にならず、重ねて見えている状態になる android background="#111" 背景がないと、中途半端にすけた状態で表示される。 別のXMLファイルで作る NavigationViewで作った場合、ヘッダ部分とメニュー部分をそれぞれレイアウトとメニューで作成する app headerLayout="@layout/drawer_header" app menu="@menu/drawer" ドロワーのオープン・クローズを実装する DrawerLayout にリスナーをセットする。このリスナーは DrawerLayout.DrawerListener を実装して、使う。 Activity にアクションバーがセットされている場合は ActionBarDrawerToggle が DrawerLayout.DrawerListener を実装する。 DrawerLayout mDrawerLayout = ...; ActionBarDrawerToggle mDrawerToggle; mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) { public void onDrawerClosed(View view) {...} public void onDrawerOpened(View drawerView) {...} }; // Set the drawer toggle as the DrawerListener mDrawerLayout.setDrawerListener(mDrawerToggle); 【Android】スライドして表示されるメニュー | Qiita Navigation Drawer の概要 | Android 開発入門 Navigation Drawer の基本的な実装方法 | Android 開発入門 バックグラウンド処理(サービス) サービス - Android Developers Androidアプリでのバックグラウンド処理と通知機能 | Android Studio 2で始めるアプリ開発入門 - CodeZine 流れ Serviceのサブクラスを作成する AndroidManifest.xmlにサービスを登録 サブクラスで、必要なクラスをオーバーライドする。次のあたり。onCreate() onStartCommand() onDestroy() アクティビティからサービスを起動する (きちっと止まるように設計しておく) 閉じられても動作するサービスを動かす バックグラウンドで動作させるためにはServiceを用いる。 Serviceクラスの作成 Activityのように、作成・開始などのイベントで動くが、おもに3つ。 onCreate onStartCommand onDestroy Service | Android Developers Activityから、作成したサービスを動かす startServiceで起動、stopService(stopSelf)で停止。忘れずにServiceを止めないと、いつまでも動き続ける。 startService、stopServiceなどには、インテントを準備して、サービスにそれをなげる形をとっている。 startService - Context | Android Developers stopService - Context | Android Developers stopSelf - Service | Android Developers 加速度センサの情報を受ける 回転角の情報を受け取る センサーは加速度まではそのまま読み取れるが、回転角は加速度情報、地磁気情報から計算する必要がある。まず getRotationMatrix で回転行列を求め、getOrientation で回転行列を回転角に変換する(計算する) getRotationMatric - SensorManager | Android Developers getOrientation - SensorManager | Android Developers 引数に取った2つの配列には、傾斜行列、回転行列(の情報)が計算されて入ってくる。情報が不要ならnullでよい。 回転角の解釈 正位置として Zは天を指す Yは磁北を指す Xは Y,Z の外積を指す 画面の回転を抑制する AndroidManifest.xmlで抑制する 回転させないActivityに android screenOrientation="portrait" を追加すると、縦向き固定になる activity | Android Developers 動的に(プラグラム内で)で抑制する Activity内で、setRequestedOrientation を呼び出す setRequestedOrientation - Activity | Android Developers screenOrientation - ActivityInfo | Android Developers インテントにオブジェクトの情報を乗っける bundleで多くの情報をわたすような方法として、putParcelableArrayList くらいしか見当たらないので、これを使う。そのためには、Parcelable をimplements したようなクラスを作る必要がある。 Bundle | Android Developers parcelable をインプリメントしたクラスをつくる Parcelable実装にはParcelable.Createorというstatic fieldが必要。そのフィールドの初期化にて、Parcelに保存したデータを復元するためのコンストラクタを呼ぶ。 Parcelable | Android Developers Parcelable.Creater フィールドの実装 Parcelable.Creater | Android Developers createFromParcel(Parcel source)Parcelable.writeToParcel() で書き出されたParcelデータをインスタンス化する → コンストラクタを作っておく newArray(int size)ParcelableクラスのArrayを作る BundleやIntentに情報を乗せる IntentならputParcelableArrayListExtra、BundleならputParcelableArrayList で情報を登録 putParcelableArrayListExtra - Intent | Android Developers getParcelableArrayList - Bundle | Android Developers Activity側で受ける IntentならgetParcelableで受けられる。受けたときにすでにParcelableをimplementしたオブジェクトで受けられる。 getParcelableArrayListExtra - Intent | Android Developers getParcelableArrayList - Bundle | Android Developers 複数の情報をリストにして表示する [https //www54.atwiki.jp/api_programming/pages/202.html] バイブレーションを一定時間、作動させる Vibratorインスタンスからvibrate()を実行する。バイブレーションの実施にはAndroidManifest.xmlにパーミッションの追加が必要。 パーミッションの追加 マニフェストにパーミッションを追加する - パーミッションの宣言 | Android Developers Vibratorオブジェクトを生成する getSystemServiceでVibratorオブジェクトを生成する Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); getSystemService - Context | Android Developers Vibrator | Android Developers vibrateを実行する 幾つかパターンはあるが、かんたんなところで、これ。 vibrator.vibrate(500); vibrate - Vibrator | Android Developers 通知バーにバックグラウンド起動中の表示を出す 裏返したときの方向で、記録を分ける メニューのバーを設定する メニューリソースを準備し、表示させる。そのうえで、メニューのタップ動作に対する反応を記述する メニュー | Android Developers メニューリソースを準備する フォルダの作成 デフォルトではメニュー用のフォルダが無い(かもしれない)ので、res/menuを追加し、ここに入れておく。 resフォルダ右クリック [New]>[Android resource directory]を選択 ダイアログで、「Resource type 」から「menu」を選択し、OK リソースファイルの作成 menuフォルダを右クリック [New]>[Menu resource file] ファイル名を入力し、OK ファイル内に menu item / item / /menu を記述(実際はidやタイトルを設定する必要あり) Menu Resource | Android Developers 設定したメニューファイルを、Activityのメニューバーに評させる onCreateOptionMenuをオーバーライドして、この中でリソースの指定などを行う。XMLのメニューを実際?のメニューオブジェクトに変換するのに、inflatorを使用できる。 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); //(1) inflater.inflate(R.menu.menu_options_menu_list, menu); //(2) return super.onCreateOptionsMenu(menu); //(3) } onCreateOptionMenu - Activity | Android Developers メニューの選択を受け取る処理を作る オプションメニューを作っていれば、その受取はonOptionsItemSelectedをオーバーライドして処理できる。 @Override public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } このとき、itemにクリックされた情報が入っているので、これを紐解いて、どのメニューがクリックされたか判断し、switchなどで処理する。 int itemId = item.getItemId(); Android 3.0(APIレベル11)以降では メニューリソースXMLのitemに、android onClick を記述しておくことで、動作を定義させることもできる。 チェックボックスを動作させる Android/入力コントロール(Controls) 設定画面を設定する/設定情報をローカルストレージに残す Android/設定 記録内容をGoogleスプレッドシートに記録する http //qiita.com/konnobu/items/8bec3d5a45235fc88a08 記録内容をGoogleカレンダーに記録する 多分、クライアント用のライブラリが作られていて、簡単に認証処理をしたり、データを取得したりできるようになっていると思われるが、別サイトでも転用が聞くように、地道な方法を取ってみる。というか、専用のライブラリの使い方をよくわかっていない。 流れは OAuth2.0で認証Google API にプロジェクトと登録(キーの発行) 認証コードを発行 受け取り コードを access token と交換 access token も使って、リクエスト送信 こまごまと引っかかった場所が多数。 AndroidManifest.xmlにパーミッションの設定が必要 ブラウザでURLを開く Android/インテントとインテントフィルタ ブラウザを開くURIとして、認証ページを指定する GoogleのOAuth2認証 OAuth2認証 | Android Developers Step 1 Send a request to Google's OAuth 2.0 server | Google Identify Platform リダイレクトを受け取る 大概の(google 以外でも)場合は、認証後に指定したリダイレクト先に飛ばしてくれる。そのスキーム名に応じて、Android側でどのアプリで開くのかを考えてくれる。Android に「このスキームがきたら、俺のアプリで開いて」と指示するためには、AndroidManifest.xml に記述する必要がある。 scheme // host port / path intent-filter内で、action, category, data を指定する。上記のリダイレクト先に対応する内容を書くのは data で、scheme は data android scheme="com.example.testproject" / のようになる。 Intent の 定数として ACTION_VIEW などが定義されているが、実体は文字列で、それが android.intent.action.VIEW などになる(ので、どれを設定するかはIntent を参照)。ブラウザでどんなスキームがきたらヨソになげるのか、どんな action として投げるのか、説明されている場所がわからないが、ひとまず action ACTION_VIEW category CATEGORY_BROWSABLR scheme ここは各自で で開けた。redirect_uri で scheme //~ が指定できない( /だけ)なので、hostは存在せず、pathだけ。 インテント解決 - インテントとインテント フィルタ | Android Developers Intent - Android Developers 受け取ったリダイレクトをデータに紐解く 一旦受け取れれば、中身は getIntent() を経由して、中身を見られる(Intent.getAction(), Intent.getCategories() など)。OAuth では、path のなかに code を入れて返してくるので、Dataのなかを探せばある Intent intent = getIntent(); String data = intent.getDataString(); とすると、googleの認証で指定した redirect_uri のあとに code がくっついて返ってきている。以下、サンプル com.example.####.#### /oauth2callback?code=4/8abcdefg# 上記の場合、oauth2callback を uri.getPath() で、4/8abcdefg# を getQueryParameter("code") で受け取れる。 getIntent - Activity | Android Developers getData - Intent | Android Developers getQueryParameter - Uri | Android Developers codeを送って、tokenを受け取る コードと必要情報を POST することで、access token との交換をする。この処理は、UIスレッドだとエラーになるので、AsyncTaskで実行する必要がある。 また、交換がうまく行かなかったときは、HttpURLConnection の getInputStream ではなく、 getErrorStream に情報が流れるため、プログラムの確認作業では注意。(この辺をよくわかっていなくて、エラー原因を探すのに苦労した。) redirect_uri はスキームもパスもコード発行依頼時と同じものを使う。 Android/プロセスとスレッド(processes and threads) Async Task | Android Developers tokenを保存する プレファレンスへの保存 終了時間と開始時間から、時間の計算をする リストビューで独自レイアウトを設定する https //www54.atwiki.jp/api_programming/editx/202.html USBデバッグ http //www.aiseesoft.jp/tutorials/android-debug-mode.html リリースビルド http //androidstudio.hatenablog.com/entry/2014/07/26/154043
https://w.atwiki.jp/android/pages/43.html
チュートリアル:ノートパッドエクササイズ1 本エクササイズではシンプルなノートリストを作ります。このノートリストを使ってユーザは新規ノートを追加することができますが、ノートの編集を行うことはできません。本エクササイズでは以下の事項をデモンストレートします。 ListActivities の基本、メニューオプションの作成・操作の基本 SQLite データベース内のノートへのアクセス/保存方法 ArrayAdapter (ListView にバインドするためのもっともシンプルな方法の一つ)を用いてデータを ListView にバインドする方法 リストビューの配置の仕方やアクティビティメニューへのアイテムの追加のやり方、アクティビティがアクティビティメニューアイテムをどのように扱うか、といったスクリーンレイアウトの基本 [エクササイズ1] [エクササイズ2?] [エクササイズ3?] [追加事項?] Step 1 Notepadv1 プロジェクトを開きます。 Notepadv1 は開始点として提供されるプロジェクトです - it takes care of some of the boilerplate work that you have already seen if you followed the Hello Android tutorial (すでにHello Android(もしもしアンドロイド)のチュートリアルで見ているかもしれませんが、共通する説明があります。) 2. browse ボタンを押し、あなたが本エクササイズをコピーしたフォルダを選択し、その中からNotepadv1を選んでOKを押してください。 a. Package Explorer で右クリックし、New- Project... を選択してください。 b. Android/Android Project を選択し、Next を押してください。 c. New Android Project のダイアログで、Create project from existing source(既存のソースからプロジェクトを作成)を選択してください. d. browse ボタンを押し、あなたが本エクササイズをコピーしたフォルダを選択し、その中からNotepadv1を選んでOKを押してください。 e. Project name 欄に Notepadv1、Location 欄に選択したパスが表示されることを確認してください。 f. Finish を押します。 g. 本エクササイズのプロジェクトが Eclipse の Package Explorer に開かれ準備が完了します。 h. もし AndroidManifest.xml にエラー表示が出ていたり、Android の zipファイルに関連する問題が表示された場合は、プロジェクトの上で右クリックし、ポップアップから、Android Tools- Fix Project Properties を選択してください。(プロジェクトがライブラリの場所を正しく見ていないので、この操作でそれを修復します。) Step 2 データへのアクセスと更新について このエクササイズにおいては、単にSQLiteデータベースを直接使ってデータを保存しますが、実際のアプリケーションでは正当なContentProviderを作成し、処理をカプセル化する方がずっと良いでしょう。 もし興味があれば、content provider やデータの保存/検索/表示などに関する情報をいろいろと見つけることが出来るでしょう。 DBHelper クラスを見てみてください - このクラスは、我々が作成するノートのデータを保持するとともにその更新も可能にする、SQLiteへのデータアクセスをカプセル化するために提供されています。 典型的にはContentProviderを用いることでこのクラスを実装します。そして実際、SDKには行っている完全なNotepadアプリケーションはそのようなContentProviderを実装しています。しかし、我々がこれからするように、単にSQLiteデータベースを直接利用していけない理由はありません。このクラスについて注意すべき重要なことは、それがSQLiteデータベースのデータの保存、参照、更新の詳細の面倒をみてくれるということです。全ての行を取得するメソッド、行IDに基づいて行を取得するメソッド、新しい行を作成するメソッド、既存の行を削除するメソッド、既存の行を更新するメソッドがあります。もしあなた自身のアプリケーションでSQLiteデータベースを利用する方法に関する入門を希望なら、このクラスを見てみるか、より良くは、ContentProviderの利用例として SDK の samples/ ディレクトリに入っている完全なNotepadアプリケーションを見てみてください。 Step 3 Layout と activity とについて ほとんどのActivityはそれに関連付けられたレイアウトを持っています。レイアウトはユーザに対してそのactivityの「顔」となります。今回の例では我々のレイアウトは画面全体を覆いノートの一覧を提供します。 しかし、フルスクリーンレイアウトはActivityにとっての唯一の選択肢ではありません。フローティングレイアウト(たとえばダイアログとか警告のように)が欲しいこともあるでしょうし、レイアウトを全く必要としないこともあるでしょう(使用するレイアウトを決めない場合、activityはユーザに見えなくなります)。 Open the notepad_list.xml file in res/layout and take a look at it This is a layout definition file with a default starting point in it, we have provided this as a convenience to get you going quickly. 1. All Android layout files must start with the XML header line ?xml version="1.0" encoding="utf-8"? . 2. Also, the next definition will often (but not always) be a layout definition of some kind, in this case a LinearLayout. 3. Note also that the xml namespace of Android should always be defined in the top level component or layout in the XML so that android tags can be used through the rest of the file xmlns android="http //schemas.android.com/apk/res/android" Step 4 We need to create the layout to hold our list. Add code inside of the LinearLayout tag so the whole file looks like this (you may have to hit the Source tab in order to edit the XML file) ?xml version="1.0" encoding="utf-8"? LinearLayout xmlns android="http //schemas.android.com/apk/res/android" android layout_width="wrap_content" android layout_height="wrap_content" ListView id="@id/android list" android layout_width="wrap_content" android layout_height="wrap_content"/ TextView id="@id/android empty" android layout_width="wrap_content" android layout_height="wrap_content" android text="@string/no_notes"/ /LinearLayout 1. The ListView and TextView can be thought as two alternative views, only one of which will be displayed at once. ListView will be used when there are notes to be shown, while the TextView (which has a default value of "No Notes Yet!" defined as a string resource, will be displayed if there aren t any notes to display). 2. The @ in the id strings of the ListView and TextView means that the XML parser should parse and expand the rest of the id string and use an ID resource. 3. And, the android list and android empty are IDs that are already provided for us by the Android platform, empty is used automatically when no data is provided in the list adapter. The List Adapter knows to look for these names specifically by default. Alternatively you could also choose to change the default empty view used by the List Adapter by using the setEmptyView(). More broadly, the android.R class is a set of predefined resources provided for you by the platform, while your project s R class is the set of resources your project has defined. Resources found in the android.R resource class can be used in the XML files by using the android name space prefix (as we see here). Step 5 Resources and the R class The folders under res/ in the Eclipse project are special. There is a specific structure to the folders and files under this folder. In particular, resources defined in these folders and files will have corresponding entries in the R class allowing them to be easily accessed and used from your application. Furthermore, they will be bundled and deployed as part of the application. To make a list view, we also need to define a view for each row in the list 1. Create a new file under res/layout called notes_row.xml. 2. Add the following contents (note again the xml header is used, and the first node defines the Android xml namespace) ?xml version="1.0" encoding="utf-8"? TextView id="@+id/text1" xmlns android="http //schemas.android.com/apk/res/android" android layout_width="wrap_content" android layout_height="wrap_content"/ 3. This is the view that will be used for each notes title row — it has only one text field in it. 4. In this case we create a new id called text1. The + after the @ in the id string indicates that the id should be automatically created if it does not already exist, so we are defining text1 on the fly and then using it. 5. After saving this file, open the R.java class in the project and look at it, you should see new definitions for notes_row and text1 (our new definitions) meaning we can now gain access to these from the our code. Step 6 Next, open the Notepadv1 class in the source. We are going to alter this class to become a list adapter and display our notes, and also allow us to add new notes Notepadv1 will be a subclass of Activity called a ListActivity, which has extra functionality to accommodate the kinds of things you might want to do with a list, for example displaying an arbitrary number of list items in rows on the screen, moving through the list items, and allowing them to be selected. Take a look through the existing code in Notepadv1 class. There are some constant definitions at the top, followed by a private field we will use to create numbered note titles, and some overrides of methods from the superclass. Step 7 Change the inheritance of Notepadv1 from Activity to ListActivity public class Notepadv1 extends ListActivity Note you will have to import ListActivity into the Notepadv1 class using Eclipse, ctrl-shift-O on Windows or Linux, or cmd-shift-O on the Mac (organize imports) will do this for you. Step 8 There are already three override methods defined onCreate, onCreateOptionsMenu and onOptionsItemSelected, we need to fill these out * onCreate() is called when the activity is started — it is a little like the "main" method for the activity. We use this to set up resources and state for the activity when it is running * onCreateOptionsMenu() is used to populate the menu for the activity. This is shown when the user hits the menu button, and has a list of options they can select (like "Create Note") * onOptionsItemSelected() is the other half of the menu equation, it is used to handle events generated from the menu (e.g. when the user selects the "Create Note" item). Step 9 Fill out the body of the onCreate() method. Here we will set the title for the activity (shown at the top of the screen), use the notepad_list layout we have created for the activity display contents, set up the DBHelper instance we will use to access notes data, then populate the list with the available note titles 1. call super() with the icicle parameter passed into our method 2. setContentView to R.layout.notepad_list 3. Create a new private class field called dbHelper of class DBHelper (before the onCreate method) 4. Back in the onCreate method, construct a DBHelper instance — assign to the dbHelper field (note, you must pass this into the constructor for DBHelper) 5. Finally, call a new method -fillData()- gets the data and populates it using the helper, we haven t defined it yet 6. onCreate() should now look like this @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.notepad_list); dbHelper = new DBHelper(this); fillData(); } And remember to add the DBHelper field definition (right under the noteNumber definition) private DBHelper dbHelper; Step 10 More on menus The notepad application we are constructing only scratches the surface with menus. You can also add shortcut keys for menu items, create submenus and even add menu items to other applications!. Fill out the body of the onCreateOptionsMenu() method. We are going to add just one menu item for now, "Add Item", using a string we will create in strings.xml, and defined with a constant we will create at the top of the class to identify the Add Item operation. 1. In strings.xml resource (under res/values), add a new string for menu_insert with text "Add Item" string name="menu_insert" Add Item /string , then save the file 2. Also, you need a menu position constant at the top of the Notepadv1 class (right under the KEY_BODY definition) public static final int INSERT_ID = Menu.FIRST; 3. In the onCreateOptionsMenu() method, add the menu item. Also take care of the result of the super call being returned. The whole method should now look like this @Override public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu); menu.add(0, INSERT_ID, R.string.menu_insert); return result; } Step 11 Fill out the body of the onOptionsItemSelected() method This is going to handle our new "Add Note" menu item. When this is selected the onOptionsItemSelected() method will be called with the item.getId() set to INSERT_ID (the constant we used to identify the menu item). We can detect this, and take the appropriate actions 1. The super.onOptionsItemSelected(item) method call goes at the end of this method — we want to catch our events first! 2. Switch statement on item.getId() 3. case INSERT_ID 4. calls new method createNote() 5. break at the end of the case 6. return the result of the superclass onOptionsItemSelected() method at the end 7. The whole onOptionsItemSelect() method should now look like this @Override public boolean onOptionsItemSelected(Item item) { switch (item.getId()) { case INSERT_ID createNote(); break; } return super.onOptionsItemSelected(item); } Step 12 Add a new createNote() method In this first version of our application, createNote() is not going to be very useful. We will simply create a new note with a title assigned to it based on a counter ("Note 1", "Note 2"...) and with an empty body. At present we have no way of editing the contents of a note, so for now we will have to be content making one with some default values 1. String noteName = "Note " + noteNumber++; (Construct the name using "Note" and the counter we have defined in the class) 2. Call dbHelper.createRow() using noteName as the title and "" for the body 3. Call fillData() method again after adding (inefficient but simple) 4. The whole createNote() method should look like this private void createNote() { String noteName = "Note " + noteNumber++; dbHelper.createRow(noteName, ""); fillData(); } Step 13 List adapters Our example uses a very simple array adapter which binds an array or list of items into a ListView. More commonly in Android, List Adapters go hand in hand with ContentProviders, and this is also a very easy way to use lists. To bind a ContentProvider to a ListView you can use a android.widget.SimpleCursorAdapter to bind data from a ContentProvider into a ListView Define the fillData() method. This is fairly long This method uses ArrayAdapter, which is the simplest way of putting data into a ListView. ArrayAdapter takes either a List or an array of Strings, and binds them into a text view provided in the layout defined for the list row (this is the text1 field in our notes_row.xml layout). The method simply obtains a list of notes from the database helper, constructs a List of Strings using the title strings from each row, and then creates an ArrayAdapter out of those items and bound to use the notes_row we defined. private void fillData() { // We need a list of strings for the list items List String items = new ArrayList String (); // Get all of the rows from the database and create the item list List Row rows = dbHelper.fetchAllRows(); for (Row row rows) { items.add(row.title); } // Now create an array adapter and set it to display using our row ArrayAdapter String notes = new ArrayAdapter String (this, R.layout.notes_row, items); setListAdapter(notes); } 1. ArrayAdapter needs a List of Strings (List String ) containing the items to display 2. The data is read out of the database as rows, and the title field from each row is used to populate the list of strings 3. We specify the notes_row view we created as the receptacle for the data 4. If you get compiler errors about classes not being found, ctrl-shift-O or (cmd-shift-O on the mac) to organize imports. Note that for this exercise we use an ArrayAdapter, this is not a very scalable solution and more typically a SimpleCursorAdapter would be used with a ContentProvider or at least a Cursor returned from a query. See the sidebar on List Adapters for more information. Step 14 Run it! 1. Right click on the Notepadv1 project 2. From the popup menu, select Run As - Android Application 3. If you see a dialog come up, select Android Launcher as the way of running the application (you can also use the link near the top of the dialog to set this as your default for the workspace, this is recommended as it will stop the plugin from asking you this every time) 4. Add new notes by hitting the menu button and selecting Add Item from the menu Solution and Next Steps You can see the solution to this class in Notepadv1Solution from the zip file to compare with your own. Once you are ready, move on to Tutorial Exercise 2 to add the ability to create, edit and delete notes. Back to the Tutorial main page...
https://w.atwiki.jp/tadoku/pages/15.html
Android - Wikipedia http //ja.wikipedia.org/wiki/Android iPad vs Android Tablet (PDF Viewer) http //www.youtube.com/watch?v=ZJ14V_Bmxt8 Android向けアプリケーション NAVER Nドライブ https //market.android.com/details?id=jp.naver.android.ndrive 無料・10GBのオンラインストレージ「NドライブApp」のAndroid版が登場 … http //naverland.naver.jp/?p=3950 【Androidアプリ】 10GBのフリースペースを有効活用「NAVER Nドライブ」 http //weekly.ascii.jp/elem/000/000/047/47228/ http //megalodon.jp/2011-0705-1917-34/weekly.ascii.jp/elem/000/000/047/47228/ Android版「NAVER Nドライブ」が登場 - ITmedia +D モバイル http //plusd.itmedia.co.jp/mobile/articles/1103/29/news060.html http //megalodon.jp/2011-0705-2155-37/plusd.itmedia.co.jp/mobile/articles/1103/29/news060.html クラウドストレージ「ソラ箱」for Android https //market.android.com/details?id=jp.saases.cloud.android.sorabako The Times of India https //market.android.com/details?id=com.toi.reader.activities feature=search_result インドの新聞から始めよう! - 多読する ぶたさん ぶひママン http //www.buhimaman.com/blog/2011/08/post-1173.html http //backupurl.com/tve9jy
https://w.atwiki.jp/hoshiba/pages/62.html
ウェブサイト新着情報 録音したTwitterスペースをiOS、Android、ウェブの全ユーザーが聴けるように - TechCrunch Japan 年末に売れてるSIMフリーAndroidスマホは? OPPO・Xiaomi・シャープ・サムスンが大接戦(BCN) - Yahoo!ニュース - Yahoo!ニュース Androidスマホの反応が遅くなる「8つの誤った使い方」とその対処法(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース キャリアSNS「YOUTRUST」がAndroid版アプリをリリース、累計登録ユーザー数10万人突破も発表 - TechCrunch Japan iOS/Android版「聖剣伝説 Legend of Mana」が配信開始!PS4/Switch版コレクターズエディションの追加生産も決定|ゲーム情報サイト Gamer - Gamer マジ? AirTag悪用の高級車窃盗が報告される…(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース Androidの12月月例更新開始 「致命的」な6件を含む多数の脆弱性修正 - - ITmedia Mobile 新型コロナワクチン接種証明書アプリ、公開は12月20日 iPhoneとAndroid向け - ITmedia NEWS 『ポケモンユナイト』Nintendo Switch版とiOS/Android版の合計ダウンロード数が5000万回を突破。10月の2500万回突破からわずか2ヶ月で倍増(電ファミニコゲーマー) - Yahoo!ニュース - Yahoo!ニュース 「星間パイオニア」Android版の先行プレイがスタート。Twitterキャンペーンを実施中 - 4Gamer.net ドンキ、あえてチューナーレスの「Android TV搭載スマートテレビ」をうたう24型/42型 - 価格.com Xperia XZがAndroid初のトップ10入り 「にこスマ」の11月中古スマホランキング(ITmedia Mobile) - Yahoo!ニュース - Yahoo!ニュース Androidスマホのストレスを軽減する3つのステップ(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース 『アンリアルライフ』iOS/Android版がリリースへ。記憶喪失の少女がサイコメトリー能力を駆使して冒険、お手頃価格で気軽に楽しめるように(電ファミニコゲーマー) - Yahoo!ニュース - Yahoo!ニュース Androidのスマホ性能チャート、Snapdragon 888 Plusが優位に - iPhone Mania 6年前にリリースされたFairphone 2にソフトウェアアプデ。Android 10対応に - GIZMODO JAPAN シャープからAndroidスマホ「AQUOS wish」、“シンプルでソーシャルグッド”な新機種 - ケータイ Watch Androidゲーム機の時代が来る? (1/4) - ASCII.jp フリーランス・副業向け マッチングサービス『Workship』、iOS/Androidアプリをリリース - PR TIMES AndroidスマホとiPadを上手に組み合わせて使う方法(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース 今売れてるAndroidスマートフォンTOP10、シャープ製品が16週ぶりに首位 2021/12/4(BCN) - Yahoo!ニュース - Yahoo!ニュース XperiaがAndroidスマホ販売シェア1位に浮上――今さら感強い「Xperia View」に不安要素:石川温のスマホ業界新聞 - - ITmedia Android/Fire TV版「DiXiM Play」にキャスト機能追加(Impress Watch) - Yahoo!ニュース - Yahoo!ニュース 「Android 12L」と「iPad OS 15」がすごくてもタブレットが売れない理由 - TechTargetジャパン Amazonアプリストア、Android 12で動作しない不具合が1か月以上継続中 - Engadget日本版 グーグル、「Android Auto」をアップデート--ついにデジタルキーに対応 - CNET Japan 2021年12月第1週 AndroidにもRISC-Vの波が来るのか - Gihyo Jp バンキング型トロイの木馬が30万台以上のAndroidに感染か 国内金融機関も標的に - ITmedia Google、DevSummit 21で大画面Androidデバイスのサポートを発表 - InfoQ Japan Y!mobile、Amazonブラックフライデーで「Android One S5」「Libero S10」を1円に - - ITmedia 2022年のAndroidスマホはiPhone13シリーズに性能面で勝てるのか? - iPhone Mania 今売れてるAndroidスマートフォンTOP10、「Xperia 5 III」が2週連続TOP10入り 2021/11/27(BCN) - Yahoo!ニュース - Yahoo!ニュース AmazonブラックフライデーでiPhoneやAndroidスマホがセール対象に 1円端末も - - ITmedia 5G対応で3万円台のAndroidタブレット見参!ソフトバンクの「Lenovo TAB6」を使ってみた - PC Watch Androidのバージョン別シェア、いまだ3年以上前のものの合計が約50%を占める - iPhone Mania Xperiaが国内Androidシェア1位に躍進した理由 「ミッドレンジが好調」だけにあらず(1/2 ページ) - - ITmedia Mobile Twitterの投げ銭機能「Tips」、Androidアプリでも設定可能に - ITmedia NEWS 何が変わる?「Android 12」の最新機能とアップデートのタイミング| - @DIME 古いAndroidスマホがバージョンアップできない原因 – アップデート非対応機種か確認 (2021年11月19日) - エキサイトニュース Androidでアプリを毎回閉じないほうがいい - ギズモード・ジャパン Samsung、「Android 12」ベースのGalaxy新ランチャー「One UI 4」リリース - - ITmedia Mobile Pixel 6などのAndroidスマホが意図せず電話をかけてしまう問題が解消 - PC Watch 作って楽しむプログラミング Androidアプリ超入門 改訂新版 - nikkei BPnet Apple CEO「それならAndroidを買って」iPhoneでは絶対に認めないこと - AppBank.net OPPO初となるAndroidタブレットのスペックと価格がリーク - HelenTech 今売れてるAndroidスマートフォンTOP10、OPPOとソニーが首位争い 2021/11/13(BCN) - Yahoo!ニュース - Yahoo!ニュース Androidユーザー満足の最新スマートウォッチ「Fossil GEN 6」場面を問わず1日中装着【今日のライフハックツール】(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース E-inkなのにAndroid搭載! 新感覚タブレット「BOOX - Nova Air」(BCN) - Yahoo!ニュース - Yahoo!ニュース 正当なアプリを装う新たなAndroidスパイウェア「PhoneSpy」が韓国で発見される - TechCrunch Japan 「Xiaomi Pad 5」はハイエンドAndroidタブレットの真打ちだ! (1/2) - ASCII.jp 「iPhone→Android」「Android→iPhone」の機種変更で予想外だったこと(マネーポストWEB) - Yahoo!ニュース - Yahoo!ニュース Googleのスマホ「Pixel 6」「Pixel 6 Pro」はどんなスマホ? 特徴をチェック!(Fav-Log by ITmedia) - Yahoo!ニュース - Yahoo!ニュース Android 12にアップデートすると使える新機能12選 - GIZMODO JAPAN この秋、発売されるAndroidスマホの本命は?(@DIME) - Yahoo!ニュース - Yahoo!ニュース 不要アプリを一気に消したい! ストレージの空きを増やしたい! そんなときに使えるAndroid標準機能 - ケータイ Watch Androidの11月月例更新開始 「致命的」な2件を含む多数の脆弱性修正 Pixelでは機能改善も - - ITmedia Mobile 2021年秋、バラエティが広がるハイエンドAndroid市場を俯瞰する - Impress Watch 折りたたみや大画面に最適化の「Android 12L」、来年公開へ - - ITmedia Mobile 楽天モバイル、Android 12提供予定のスマートフォンを案内 - ケータイ Watch Windows 11で「Androidアプリ」を実行可能に、プレビュー版をWindows Insider Programで提供開始 - ITmedia 今売れてるAndroidスマートフォンTOP10、Xperiaが1位・2位を独占 2021/10/23(BCN) - Yahoo!ニュース - Yahoo!ニュース AndroidにはないiOSの優れた機能8選(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース Android 12リリース。使える機種が限られるけど...「Material You」が使えるようになるよ #Pixel6Launch(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース Androidスマホの「緊急通報・緊急情報」の登録方法は?万が一の確認方法など紹介 - TIME&SPACE ドコモが「Android 12」バージョンアップ対象モデルを公表 46機種で対応予定 - - ITmedia Android 12.1早くもリーク、折りたたみスマホ対応が進化しそう(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース Androidスマホの「アプリの権限」ってなに?許可してもOK?注意点など解説 - TIME&SPACE Androidにこの秋追加予定の13の新機能 TVリモコンや「Camera Switches」など - - ITmedia [ケータイ用語の基礎知識]第982回:YouTubeは見れるの? Androidアプリも使える? ファーウェイのスマホ・タブレットのHarmonyOSとは - ケータイ Watch 慣れると元に戻れなくなるかも、Androidアプリ「アルテ日本語入力キーボード」 - ケータイ Watch Android 11のアプリ権限リセット機能、過去OSでも利用可能に - Engadget 日本版 Androidスマホの速度が遅くなってきた時の対処法6つ - Lifehacker JAPAN Androidの位置情報を完全にオフにする方法 - Lifehacker JAPAN 2021年9月第3週 そろそろAndroid 12がリリースされるので復習:Android Weekly Topics - Gihyo Jp 【最新版】1万円台からのおすすめAndroidタブレット7選 - PC Watch 韓国、グーグルに約200億円の課徴金--「Android」の独占的地位を乱用 - CNET Japan Android 12 beta 5(ファイナル)公開 正式版は「数週間中」 - - ITmedia Androidの9月のセキュリティパッチ、脆弱性などを修正 - ケータイ Watch iPhoneもAndroidスマホも7年は使い続けられるように…ドイツ政府がEUに新法案を提唱 - GIZMODO JAPAN 「Windows 11」でのAndroidアプリ利用、10月5日には含まれず - ITmedia Androidで使いたい便利な時短機能10選 - Lifehacker JAPAN スマホ画面用「Android Auto」、Android 12で廃止へ - CNET Japan Androidを表情で操作するカメラスイッチ、Android 12ベータ4で利用可能に - Engadget日本版 家族のスマホさがしからクルマの遠隔ロックまで。Androidの「デバイスを探す」機能がめちゃ便利になりそう - GIZMODO JAPAN Androidの2021年8月のセキュリティパッチ情報が公開 - ケータイ Watch Google、Android 2.3.7以前の端末からのログインサポートを終了へ - Engadget日本版 Androidの「ジェスチャーナビゲーション」とは?操作が便利になるテクニックを紹介 - TIME&SPACE Google、Androidデバイス用機械学習プラットフォームを発表 - ケータイ Watch Windows 11で動くAndroidアプリ その背景にあるもの - ITmedia Android版「Googleアプリ」にアップデート 強制終了を繰り返す問題を修正 - - ITmedia 【復旧】Android版Googleアプリが「繰り返し停止」、多数デバイスに影響 - マイナビニュース 「Android 12」はどこが新しくなった? デザインやプライバシー機能に注目 - TechTargetジャパン 「Android 12」ベータに見る、スマホの進化の明日はどこだ!? - ケータイ Watch グーグル、Android 12でアプリによるトラッキングを拒否可能に - GIZMODO JAPAN 「SIMフリースマホ」予算2万円台のAndroidおすすめ5選【2021年5月版】 - - ITmedia 「Android 12」のリリース時期、新機能は?--これまでの情報まとめ - CNET Japan Androidアプリ障害の原因になった「WebView」ってなに? - ITmedia Androidの『おやすみモード』とは?通知の停止・アラーム自動セットなど機能満載 - TIME&SPACE Androidスマホのメリットとデメリット - Lifehacker JAPAN 「Android 12」のプレビュー版が初登場、新機能はまだないけど画面には細かい変化も - ケータイ Watch ブログ新着情報 #blogsearch2 technorati検索結果 #technorati
https://w.atwiki.jp/redcloud/pages/28.html
目次 目次 Google Android プログラミング入門 3 - 1.3.2 レイアウト 3 - 1.3.3 データバインディング 3 - 1.3.6 ダイアログ Google Android プログラミング入門 3 - 1.3.2 レイアウト レイアウト=android.view.ViewGroupを継承したウィジェット。ViewGroupはandroid.view.Viewの直下のサブクラス。 レイアウトの役割は画面の一番外側にあるコンテナ、子となるウィジェットの配置を調整する用途 配置情報はViewGroup.LayoutParamsクラスに入れて使う 全ての子要素を一直線に整列するレイアウト LinearLayout デフォルトは水平に整列。android orientation属性にverticalを指定したら垂直に整列 水平整列時はlayout_weight属性で比率を指定する( 指定しないと先頭要素が横幅一杯表示され、後続要素が見えなくなる ) 複数のLinearLayoutを入れ子にして組み合わせたレイアウトも作成可能 レイアウトにスクロール機能を提供する ScrollView(垂直)、HorizontalScrollView(水平) スクロールさせたいレイアウト定義要素をScrollViewで囲めばOK ただし 1つのウィジェット・レイアウトしか子供にする事ができない 3 - 1.3.3 データバインディング データバインディングとは、ウィジェットに対してデータを紐付けること データバインディングの機能を提供しているクラスがandroid.widget.AdapterView データをバインドしたリストの中から1つをクリックしたときのItemClickイベント。OnItemClickListenerイベントリスナを実行 onItemClickメソッドを実装 データをバインドしたリストの中から1つを長クリックしたときのItemLongClickイベント。OnItemLongClickListenerイベントリスナを実行 onItemLongClickメソッドを実装。戻り値はboolean。長押しを正常にハンドルできた場合にtrueを返す。 データをバインドしたリストの中から1つが選択されたときのItemSelectedイベント。OnItemLongSelectedListenerイベントリスナを実行 onItemSelectedメソッド=どれか1つが選択された時。リストのアイテムにフォーカスしている状態を指し、 タッチモードのときはこのイベントそのものが発生しない onNothingSelectedメソッド=リストのどれかがフォーカス状態にあってタッチモードに遷移した状態を指す アダプタとは、ウィジェットとデータの中継ぎ役 android.widget.ArrayAdapterは配列データをバインドする為のアダプタ android.widget.SimpleAdapterはリソースファイルから取得したデータをバインドする為のアダプタ 一覧画面専用のアクティビティ ListActivity、ExpandableListActivity ListActivityは、ListViewを1つ配置した画面を作るときに便利なアクティビティ 画面作成は setListAdapter(ArrayAdapter) で作成可能 どれか1つが選択された時のイベントハンドルメソッドがonListItemClick レイアウトファイルを既定のものと差し替え可能。この場合レイアウトファイルのListViewのandroid id属性には必ず@id/android listを指定する @id/android emptyを指定したウィジェットを追加しておくと、リストが空のときにこのウィジェットを表示してくれる 3 - 1.3.6 ダイアログ
https://w.atwiki.jp/nikoban/pages/27.html
ListViewに対してsetCacheColorHint()を呼び出すか、レイアウトXMLでandroid cacheColorHint="#00000000"を指定する。 詳細はこちらを参照
https://w.atwiki.jp/doukousiki/pages/30.html
ダウンロード↓ https //drive.google.com/drive/folders/18N_AM8zkqgoZA5juuDDmb5Pp-TUwtNu_?usp=sharing 注意事項 Androidではapkファイルのダウンロードとなります。 危険があるというような表示が出てもそれは仕様です。 無視してokを押してください。
https://w.atwiki.jp/sindroid/pages/13.html
あんどろいどなぺぇじ さて何を書こうか。 アンドロイドの構成 インストールからエミュレータ起動まで (ver 2.0用 以前のバージョンだとまた違うぽい。) ここからSDKをダウンロード →解答して適当なとこに置く →パスを通す(¥toolsまで) →プロンプトからandroidと入力するとAVDマネージャ起動 →Available Packagesからインストール ・ここで何もインストールするファイルがみつからない場合がある。 /.androidにandroidtool.cfgファイル作ってsdkman.force.http=trueと入れておくと解決するはず。 ・インストールがNothingとか出たらSDKの位置変えてみる。 (C直下とか。管理者権限だとか何か知らんけどProgram Files以下に置いてたら駄目だった。) →Virtual Devicesでデバイス作成 →そこからStartで起動 SDKリファレンス 既存バグとか チップス 他